﻿Public Class frmPrincipal


    Private chamadoService As New SuporteService.ChamadoService
    Private sistemaService As New SuporteService.SistemaService
    Private usuarioService As New SuporteService.UsuarioService
    Private lojaService As New SuporteService.LojaService
    Private clienteService As New SuporteService.ClienteService
    Private frmlistaChamados As frmListaChamados


    Private Sub btnNovoChamado_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnNovoChamado.ItemClick
        Dim frmCadastroChamado As New frmCadastroChamado
        frmCadastroChamado.MdiParent = Me
        frmCadastroChamado.Show()
    End Sub

    Private Sub frmPrincipal_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        frmlistaChamados = New frmListaChamados(Me)
        frmlistaChamados.MdiParent = Me
        frmlistaChamados.Show()

        Dim listaSistemas As List(Of SuporteModel.Sistema) = sistemaService.ListarSistema()
        For iSistemas = 0 To listaSistemas.Count - 1
            CType(cmbSistemas.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.Add(listaSistemas(iSistemas), listaSistemas(iSistemas).Nome)
        Next
        CType(cmbSistemas.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).SelectAllItemCaption = "(Selecionar Todos)"

        Dim listaClientes As List(Of SuporteModel.Cliente) = clienteService.ListarClientes()
        For iCliente = 0 To listaClientes.Count - 1
            CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.Add(listaClientes(iCliente), listaClientes(iCliente).Nome)
        Next
        CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).SelectAllItemCaption = "(Selecionar Todos)"

        Dim listaTecnicos As List(Of SuporteModel.Tecnico) = usuarioService.ListarTecnicos()
        For iTecnico = 0 To listaTecnicos.Count - 1
            CType(cmbTecnicos.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.Add(listaTecnicos(iTecnico), listaTecnicos(iTecnico).Nome)
        Next
        CType(cmbTecnicos.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).SelectAllItemCaption = "(Selecionar Todos)"

    End Sub

    Private Sub txtCodigoChamado_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles txtCodigoChamado.ItemClick

    End Sub

    Private Sub btnPesquisar_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPesquisar.ItemClick
        Dim listaClientes As New List(Of SuporteModel.Cliente)
        'Convertendo os compos para lista de Clientes
        For iCliente = 0 To CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues().Count - 1
            listaClientes.Add(CType(CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues()(iCliente), SuporteModel.Cliente))
        Next

        Dim listaTecnicos As New List(Of SuporteModel.Tecnico)
        'Convertendo os compos para lista de Clientes
        For iTecnico = 0 To CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues().Count - 1
            listaTecnicos.Add(CType(CType(cmbTecnicos.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues()(iTecnico), SuporteModel.Tecnico))
        Next


        frmlistaChamados.AtualizarLista(chamadoService.ListarChamado(listaClientes, New List(Of SuporteModel.Loja), New List(Of SuporteModel.Sistema), listaTecnicos, New List(Of SuporteModel.Tela), 0, 1, 1, Convert.ToDateTime(txtDatainicio.EditValue), Convert.ToDateTime(txtDataFim.EditValue)))


    End Sub

    Private Sub BarButtonItem4_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
        Dim listaClientes As New List(Of SuporteModel.Cliente)
        'Convertendo os compos para lista de Clientes
        For iCliente = 0 To CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues().Count - 1
            listaClientes.Add(CType(CType(cmbClientes.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues()(iCliente), SuporteModel.Cliente))
        Next

        Dim listaTecnicos As New List(Of SuporteModel.Tecnico)
        'Convertendo os compos para lista de Clientes
        For iTecnico = 0 To CType(cmbTecnicos.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues().Count - 1
            listaTecnicos.Add(CType(CType(cmbTecnicos.Edit, DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit).Items.GetCheckedValues()(iTecnico), SuporteModel.Tecnico))
        Next


        frmlistaChamados.AtualizarLista(chamadoService.ListarChamado(listaClientes, New List(Of SuporteModel.Loja), New List(Of SuporteModel.Sistema), listaTecnicos, New List(Of SuporteModel.Tela), 0, 1, 1, Convert.ToDateTime(txtDatainicio.EditValue), Convert.ToDateTime(txtDataFim.EditValue)))


    End Sub
End Class